package com.lwm.domain;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * 销售合同
 *
 * @author ASUS
 * @date 2023/10/19
 */ // 销售合同
@Data
@ToString
@NoArgsConstructor
public class SalesContract {

    /**
     * 编码
     */
    private Long id;

    /**
     * 订单号
     */
    private Long orderNumber;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 联系方式
     */
    private String contactInformation;

    /**
     * 申请人
     */
    private String applicant;

    /**
     * 申请时间
     */
    private String applicationTime;

    /**
     * 应用程序状态
     */
    private String applicationStatus;

    /**
     * 批准人
     */
    private String approver;

    /**
     * 批准时间
     */
    private String approvalTime;

    /**
     * 批准状态
     */
    private String approvalStatus;

    /**
     * 交货方式
     */
    private String deliveryMethod;

    /**
     * 发货地址
     */
    private String shippingAddress;

    /**
     * 签字日期
     */
    private String signingDate;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 已删除
     */
    private Integer isDeleted;

    /**
     * 销售订单
     */
    private SalesOrder salesOrder;

    /**
     * 材料编码
     */
    private Long materialsId;

    /**
     * 销售合同材料
     */
    private List<SalesContractMaterials> SalesContractMaterials;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof SalesContract)) return false;
        SalesContract that = (SalesContract) o;
        return id.equals(that.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }
}
